package com.dys.dao;

import com.dys.entity.User;

import java.sql.SQLException;
import java.util.List;

/**
 * @className: com.dys.dao.UserDAO
 * @description: 操作数据库user相关的dao
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/09/16 下午12:39
 */
public interface UserDAO {

    /**
     * 添加User
     *
     * @param user 具体的user对象
     * @return 添加成功后受影响的行数
     */
    int insertUser(User user) throws SQLException;

    /**
     * 根据id修改User信息
     *
     * @param user 具体的user对象
     * @return 修改成功返回受影响的行数
     */
    int updateUserById(User user) throws SQLException;

    /**
     * 根据id删除user信息
     *
     * @param id User主键
     * @return 删除成功返回受影响的行数
     */
    int deleteUserById(int id) throws SQLException;

    /**
     * 查询所有User信息
     *
     * @return 所有的User信息
     */
    List<User> selectAllUser() throws SQLException;

    /**
     * 根据ID查询User信息
     *
     * @param id 主键
     * @return
     * @throws SQLException
     */
    User selectUserById(int id) throws SQLException;

    /**
     * 查询有多少条记录
     *
     * @return
     * @throws SQLException
     */
    Long selectCount() throws SQLException;
}
